From d3b8be158ff55139226fe0615c910358ca6ab5c1 Mon Sep 17 00:00:00 2001 From: "kaf24@firebug.cl.cam.ac.uk" Date: Wed, 20 Apr 2005 13:57:00 +0000 Subject: [PATCH] bitkeeper revision 1.1338.1.2 (42665facQKpiHhfw13qIq439AkffOw) Here is a patch to get Xen running on a 32-way Unisys ES7000 system. Please note that this patch alone is not sufficient to do this. You will also need the clustered APIC patch that I will be submitting soon. But since this patch was to a general area in Xen I decided to submit it separately. I think this patch will be required to get Xen running on any system that has more than 16 CPUs. Signed-off-by: Aravindh Puthiyaparambil --- xen/include/asm-x86/config.h | 6 +++++- xen/include/public/arch-x86_32.h | 5 ++++- xen/include/public/arch-x86_64.h | 5 ++++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/xen/include/asm-x86/config.h b/xen/include/asm-x86/config.h index 015e79022a..f0b990fa5e 100644 --- a/xen/include/asm-x86/config.h +++ b/xen/include/asm-x86/config.h @@ -55,7 +55,11 @@ #define OPT_CONSOLE_STR "com1,vga" -#define NR_CPUS 16 +/* + * If you increase this value, please update NR_RESERVED_GDT_ENTRIES + * in include/public/arch-x86_xx.h + */ +#define NR_CPUS 32 /* Linkage for x86 */ #define __ALIGN .align 16,0x90 diff --git a/xen/include/public/arch-x86_32.h b/xen/include/public/arch-x86_32.h index 1ca884f2fe..e76f967056 100644 --- a/xen/include/public/arch-x86_32.h +++ b/xen/include/public/arch-x86_32.h @@ -33,10 +33,13 @@ * in their ABI. These hard-coded values are always near the start of the GDT, * so Xen places itself out of the way. * + * NR_RESERVED_GDT_ENTRIES is (8 + 2 * NR_CPUS) Please update this value if + * you increase NR_CPUS or add another GDT entry to gdt_table in x86_32.S + * * NB. The reserved range is inclusive (that is, both FIRST_RESERVED_GDT_ENTRY * and LAST_RESERVED_GDT_ENTRY are reserved). */ -#define NR_RESERVED_GDT_ENTRIES 40 +#define NR_RESERVED_GDT_ENTRIES 72 #define FIRST_RESERVED_GDT_ENTRY 256 #define LAST_RESERVED_GDT_ENTRY \ (FIRST_RESERVED_GDT_ENTRY + NR_RESERVED_GDT_ENTRIES - 1) diff --git a/xen/include/public/arch-x86_64.h b/xen/include/public/arch-x86_64.h index 11efe50eda..59a2d8086e 100644 --- a/xen/include/public/arch-x86_64.h +++ b/xen/include/public/arch-x86_64.h @@ -27,10 +27,13 @@ * in their ABI. These hard-coded values are always near the start of the GDT, * so Xen places itself out of the way. * + * NR_RESERVED_GDT_ENTRIES is (8 + 4 * NR_CPUS) Please update this value if + * you increase NR_CPUS or add another GDT entry to gdt_table in boot/x86_64.S + * * NB. The reserved range is inclusive (that is, both FIRST_RESERVED_GDT_ENTRY * and LAST_RESERVED_GDT_ENTRY are reserved). */ -#define NR_RESERVED_GDT_ENTRIES 72 +#define NR_RESERVED_GDT_ENTRIES 136 #define FIRST_RESERVED_GDT_ENTRY 256 #define LAST_RESERVED_GDT_ENTRY \ (FIRST_RESERVED_GDT_ENTRY + NR_RESERVED_GDT_ENTRIES - 1) -- 2.30.2